1. Field of the Invention
The present invention relates generally to data processing environments and, more particularly, to a database system providing stored procedures as Web services.
2. Description of the Background Art
Computers are very powerful tools for storing and providing access to vast amounts of information. Computer databases are a common mechanism for storing information on computer systems while providing easy access to users. A typical database is an organized collection of related information stored as “records” having “fields” of information. As an example, a database of employees may have a record for each employee where each record contains fields designating specifics about the employee, such as name, home address, salary, and the like.
Between the actual physical database itself (i.e., the data actually stored on a storage device) and the users of the system, a database management system or DBMS is typically provided as a software cushion or layer. In essence, the DBMS shields the database user from knowing or even caring about the underlying hardware-level details. Typically, all requests from users for access to the data are processed by the DBMS. For example, information may be added or removed from data files, information retrieved from or updated in such files, and so forth, all without user knowledge of the underlying system implementation. In this manner, the DBMS provides users with a conceptual view of the database that is removed from the hardware level. The general construction and operation of database management systems is well known in the art. See e.g., Date, C., “An Introduction to Database Systems, Seventh Edition”, Addison Wesley, 2000.
With the ever-increasing popularity of the Internet, there is much interest in leveraging Internet architecture for the development of applications, including database applications. “Web Services” are self-contained modular applications that can be published and invoked over a network, such as the Internet. Web Services provide well-defined interfaces that describe the services provided. Web Services are designed to allow a loose coupling between client and server. That is, server implementations do not require clients to use a specific platform or programming language. In addition to defining interfaces in a language-neutral fashion, they are designed to allow multiple communications mechanisms as well. “Web services” as referred herein means any services capable of being served up over a Web connection (e.g., HTTP connection). This would include, for example, using SOAP (simple object access protocol) services as an RPC (remote procedure call) mechanism to make generic calls into a database and have the results returned to a Web client. However, Web services may also include arbitrary services that can be serviced (e.g., in a Web server-like fashion) over the Internet.
Currently, the only way to use Web services in conjunction with a database is through some sort of external library. Therefore, a database administrator is required to set up his or her own combination of a database, a Web server, and an external library providing Web services, including writing custom code to get all of the components to work together properly. In other words, since there is no integrated solution, today one is required to set up a variety of disparate components—none of which are internal to the database—to create one's own solution. With that approach, there is no effort to leverage the use of databases as a means to help facilitate the processing of Web services. At best, the current approach provides one with a tedious and time-consuming task.
What is needed is a solution that provides an easy-to-use approach to implementing Web services in conjunction with a database. Further, it is desirable that the solution be one that is capable of being deployed in embedded environments (e.g., providing Web services on handheld devices). The present invention fulfills this and other needs.